<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Product;

class ProductController extends Controller
{
    /*
     * 建表语句/插入测试数据
     *
create table products
(
    ID          int auto_increment
        primary key,
    productName varchar(100) null comment '商品名称',
    SKU         varchar(10)  null comment '条码',
    price       decimal      null comment '价格',
    store       int          null comment '库存'
)
    comment '商品表';

INSERT INTO test.products (ID, productName, SKU, price, store) VALUES (1, '酱油', '100', 6, 100);
INSERT INTO test.products (ID, productName, SKU, price, store) VALUES (2, '食盐', '200', 2, 100);
INSERT INTO test.products (ID, productName, SKU, price, store) VALUES (3, '陈醋', '300', 3, 100);
INSERT INTO test.products (ID, productName, SKU, price, store) VALUES (4, '鸡精', '400', 6, 100);

     */
    // 12-2 Eloquent的简单查询
    // 检索数据
    public function getProduct(){
        // 通过主键检索数据
//        $product = Product::find(1);
//        return $product;

        // 通过条件检索数据
//        $product = Product::firstWhere('SKU','200');
//        return $product;

        // 从模型的关联数据库表中检索所有记录
//        $products = Product::all();
//        return $products;

        // 条件检索
//        $products = Product::where('store',100)->orderByDESC('SKU')->limit(2)->get();
//        return $products;

        // 12-3 Eloquent的简单查询(二)

        // where方法的第三个参数
//        $products = Product::where('price','>=',2)->get();
//        return $products;

        // 多个where子句的表示方法（and）
//        $products = Product::where('price',6)->where('store',100)->get();
//        return $products;
//        $products = Product::where(['price'=>6,'store'=>100])->get();
//        return $products;

        // 多个where子句的表示方法（or）
//        $products = Product::where(['price'=>6])->orwhere(['store'=>100])->get();
//        return $products;

        // 聚合函数的查询
//        $count = Product::where('price','>',2)->count();
//        echo $count;
//        $max = Product::where('price','>',2)->max('store');
//        echo $max;
//        $sum = Product::where('price',6)->sum('store');
//        echo $sum;

        // 12-4 Eloquent的插入和更新

        // 在Product模型上增加一条记录
//        $product = new Product;
//        $product->productName = '大米';
//        $product->SKU = '500';
//        $product->price = 2.5;
//        $product->store = 100;
//
//        echo $product->save();

        // 在Product模型上更新一条记录
//        $product = Product::find(5);
//        $product->price = 6;
//        $product->save();

        // 在Product模型上批量更新记录
//        echo Product::where('store', 500)
//            ->where('price', 3)
//            ->update(['productName' => '小米']);

        // 在Product模型上删除记录
        $deleted = Product::where('productName', '小米')->delete();
        echo $deleted;
    }
}
